\section{R\'{e}f\'{e}rence de la classe CSymbol\-Stack}
\label{classCSymbolStack}\index{CSymbolStack@{CSymbolStack}}
Classe de la table des symboles.  


{\tt \#include $<$symbols.h$>$}

\subsection*{Fonctions membres publiques}
\begin{CompactItemize}
\item 
{\bf CSymbol\-Stack} ()
\begin{CompactList}\small\item\em Constructeur. \item\end{CompactList}\item 
{\bf $\sim$CSymbol\-Stack} ()
\begin{CompactList}\small\item\em Destructeur. \item\end{CompactList}\item 
void {\bf push\-Symbol} ({\bf CSymbol} s)
\begin{CompactList}\small\item\em Ajoute un symbole dans le contexte courant. \item\end{CompactList}\item 
{\bf CSymbol} $\ast$ {\bf get\-Symbol} ({\bf Symbol\-Id} id)
\begin{CompactList}\small\item\em Cherche un symbole de Symbol\-Id donn\'{e} dans toute la table. \item\end{CompactList}\item 
{\bf CSymbol} $\ast$ {\bf get\-Symbol\-In\-Context} ({\bf Symbol\-Id} id)
\begin{CompactList}\small\item\em Cherche un symbole de Symbol\-Id donn\'{e} dans le contexte courant. \item\end{CompactList}\item 
{\bf CSymbol} $\ast$ {\bf get\-Symbol\-From\-Str\-Id} ({\bf Str\-Id} strid)
\begin{CompactList}\small\item\em Cherche un symbole de Str\-Id donn\'{e} dans toute la table. \item\end{CompactList}\item 
{\bf CSymbol} $\ast$ {\bf get\-Symbol\-From\-Str\-Id\-In\-Context} ({\bf Str\-Id} strid)
\begin{CompactList}\small\item\em Cherche un symbole de Str\-Id donn\'{e} dans le contexte courant. \item\end{CompactList}\item 
void {\bf save\-Context} ()
\begin{CompactList}\small\item\em Sauve le contexte courant, d\'{e}marre un nouveau contexte. \item\end{CompactList}\item 
void {\bf restore\-Context} ()
\begin{CompactList}\small\item\em Restaure le dernier contexte, termine le contexte courant. \item\end{CompactList}\end{CompactItemize}
\subsection*{Attributs priv\'{e}s}
\begin{CompactItemize}
\item 
vector$<$ {\bf CSymbol} $>$ {\bf symbols}
\begin{CompactList}\small\item\em Table contenant les symboles. \item\end{CompactList}\item 
stack$<$ unsigned int $>$ {\bf contexts}
\begin{CompactList}\small\item\em Pile des contextes. \item\end{CompactList}\end{CompactItemize}


\subsection{Description d\'{e}taill\'{e}e}
Classe de la table des symboles. 

Fournit plusieurs m\'{e}thodes de recherche de symboles dans la table ou le contexte courant. 



D\'{e}finition \`{a} la ligne 94 du fichier symbols.h.

\subsection{Documentation des contructeurs et destructeur}
\index{CSymbolStack@{CSymbol\-Stack}!CSymbolStack@{CSymbolStack}}
\index{CSymbolStack@{CSymbolStack}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}CSymbol\-Stack::CSymbol\-Stack ()}\label{classCSymbolStack_541973c9955b54ebb8a0f8503e20a953}


Constructeur. 



D\'{e}finition \`{a} la ligne 122 du fichier symbols.cpp.

R\'{e}f\'{e}rences save\-Context().

Voici le graphe d'appel pour cette fonction:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=185pt]{classCSymbolStack_541973c9955b54ebb8a0f8503e20a953_cgraph}
\end{center}
\end{figure}
\index{CSymbolStack@{CSymbol\-Stack}!~CSymbolStack@{$\sim$CSymbolStack}}
\index{~CSymbolStack@{$\sim$CSymbolStack}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}CSymbol\-Stack::$\sim$CSymbol\-Stack ()}\label{classCSymbolStack_9243ae9ac11d7c563a038b8b52ed2b2d}


Destructeur. 



D\'{e}finition \`{a} la ligne 127 du fichier symbols.cpp.

R\'{e}f\'{e}rences contexts.

\subsection{Documentation des fonctions membres}
\index{CSymbolStack@{CSymbol\-Stack}!getSymbol@{getSymbol}}
\index{getSymbol@{getSymbol}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf CSymbol} $\ast$ CSymbol\-Stack::get\-Symbol ({\bf Symbol\-Id} {\em id})}\label{classCSymbolStack_f72f60e117d3f4e12cee0323185db52d}


Cherche un symbole de Symbol\-Id donn\'{e} dans toute la table. 

\begin{Desc}
\item[Renvoie:]Pointeur vers une copie du symbole trouv\'{e} NULL si le symbole n'est pas trouv\'{e} \end{Desc}


D\'{e}finition \`{a} la ligne 139 du fichier symbols.cpp.

R\'{e}f\'{e}rences symbols.\index{CSymbolStack@{CSymbol\-Stack}!getSymbolFromStrId@{getSymbolFromStrId}}
\index{getSymbolFromStrId@{getSymbolFromStrId}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf CSymbol} $\ast$ CSymbol\-Stack::get\-Symbol\-From\-Str\-Id ({\bf Str\-Id} {\em strid})}\label{classCSymbolStack_ea84054e4565cf172cbb1b2b50d9a8d9}


Cherche un symbole de Str\-Id donn\'{e} dans toute la table. 

\begin{Desc}
\item[Renvoie:]Pointeur vers une copie du symbole trouv\'{e} NULL si le symbole n'est pas trouv\'{e} \end{Desc}


D\'{e}finition \`{a} la ligne 162 du fichier symbols.cpp.

R\'{e}f\'{e}rences symbols.

R\'{e}f\'{e}renc\'{e} par process\-Aff(), process\-Id(), et process\-Ref().\index{CSymbolStack@{CSymbol\-Stack}!getSymbolFromStrIdInContext@{getSymbolFromStrIdInContext}}
\index{getSymbolFromStrIdInContext@{getSymbolFromStrIdInContext}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf CSymbol} $\ast$ CSymbol\-Stack::get\-Symbol\-From\-Str\-Id\-In\-Context ({\bf Str\-Id} {\em strid})}\label{classCSymbolStack_306d8b31288c370434d900737da76f2b}


Cherche un symbole de Str\-Id donn\'{e} dans le contexte courant. 

\begin{Desc}
\item[Renvoie:]Pointeur vers une copie du symbole trouv\'{e} NULL si le symbole n'est pas trouv\'{e} \end{Desc}


D\'{e}finition \`{a} la ligne 173 du fichier symbols.cpp.

R\'{e}f\'{e}rences contexts, et symbols.

R\'{e}f\'{e}renc\'{e} par CDecl\-Manager::declare().\index{CSymbolStack@{CSymbol\-Stack}!getSymbolInContext@{getSymbolInContext}}
\index{getSymbolInContext@{getSymbolInContext}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf CSymbol} $\ast$ CSymbol\-Stack::get\-Symbol\-In\-Context ({\bf Symbol\-Id} {\em id})}\label{classCSymbolStack_ae1990da4ad27291f13bb74bfe34a53e}


Cherche un symbole de Symbol\-Id donn\'{e} dans le contexte courant. 

\begin{Desc}
\item[Renvoie:]Pointeur vers une copie du symbole trouv\'{e} NULL si le symbole n'est pas trouv\'{e} \end{Desc}


D\'{e}finition \`{a} la ligne 150 du fichier symbols.cpp.

R\'{e}f\'{e}rences contexts, et symbols.\index{CSymbolStack@{CSymbol\-Stack}!pushSymbol@{pushSymbol}}
\index{pushSymbol@{pushSymbol}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void CSymbol\-Stack::push\-Symbol ({\bf CSymbol} {\em s})}\label{classCSymbolStack_3d73100c6b7cf20fd4023c42064c26e0}


Ajoute un symbole dans le contexte courant. 



D\'{e}finition \`{a} la ligne 133 du fichier symbols.cpp.

R\'{e}f\'{e}rences symbols.\index{CSymbolStack@{CSymbol\-Stack}!restoreContext@{restoreContext}}
\index{restoreContext@{restoreContext}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void CSymbol\-Stack::restore\-Context ()}\label{classCSymbolStack_acc72272f9008fb4cea26201f5393458}


Restaure le dernier contexte, termine le contexte courant. 



D\'{e}finition \`{a} la ligne 191 du fichier symbols.cpp.

R\'{e}f\'{e}rences contexts, decl\-Manager, CDecl\-Manager::free\-Symbol\-Id(), et symbols.

R\'{e}f\'{e}renc\'{e} par yyparse().

Voici le graphe d'appel pour cette fonction:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=279pt]{classCSymbolStack_acc72272f9008fb4cea26201f5393458_cgraph}
\end{center}
\end{figure}
\index{CSymbolStack@{CSymbol\-Stack}!saveContext@{saveContext}}
\index{saveContext@{saveContext}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void CSymbol\-Stack::save\-Context ()}\label{classCSymbolStack_97e9647d83fcf8848f235c8aa4422037}


Sauve le contexte courant, d\'{e}marre un nouveau contexte. 



D\'{e}finition \`{a} la ligne 186 du fichier symbols.cpp.

R\'{e}f\'{e}rences contexts, et symbols.

R\'{e}f\'{e}renc\'{e} par CSymbol\-Stack(), et yyparse().

\subsection{Documentation des donn\'{e}es membres}
\index{CSymbolStack@{CSymbol\-Stack}!contexts@{contexts}}
\index{contexts@{contexts}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}stack$<$unsigned int$>$ {\bf CSymbol\-Stack::contexts}\hspace{0.3cm}{\tt  [private]}}\label{classCSymbolStack_a1b02647af11f9ae33f2b9e4edf62d66}


Pile des contextes. 



D\'{e}finition \`{a} la ligne 98 du fichier symbols.h.

R\'{e}f\'{e}renc\'{e} par get\-Symbol\-From\-Str\-Id\-In\-Context(), get\-Symbol\-In\-Context(), restore\-Context(), save\-Context(), et $\sim$CSymbol\-Stack().\index{CSymbolStack@{CSymbol\-Stack}!symbols@{symbols}}
\index{symbols@{symbols}!CSymbolStack@{CSymbol\-Stack}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf CSymbol}$>$ {\bf CSymbol\-Stack::symbols}\hspace{0.3cm}{\tt  [private]}}\label{classCSymbolStack_c696ad21aeea1c86b3cd9e2078e778bd}


Table contenant les symboles. 



D\'{e}finition \`{a} la ligne 97 du fichier symbols.h.

R\'{e}f\'{e}renc\'{e} par get\-Symbol(), get\-Symbol\-From\-Str\-Id(), get\-Symbol\-From\-Str\-Id\-In\-Context(), get\-Symbol\-In\-Context(), push\-Symbol(), restore\-Context(), et save\-Context().

La documentation de cette classe a \'{e}t\'{e} g\'{e}n\'{e}r\'{e}e \`{a} partir des fichiers suivants:\begin{CompactItemize}
\item 
{\bf symbols.h}\item 
{\bf symbols.cpp}\end{CompactItemize}
